package uk.co.hs.service.admin.interfaces;

import java.util.List;

import uk.co.hs.domain.web.WebRole;
import uk.co.hs.domain.web.WebRoleUrl;
import uk.co.hs.domain.web.WebUrl;
import uk.co.hs.web.util.AdminListDTO;
import uk.co.hs.web.util.RoleUrlWeb;

public interface WebRoleServiceInterface extends AdminServiceInterface
{
  public WebRole getWebRole(Long aPk);

  public List<WebRoleUrl> getWebRoleUrls(Long aRolePk);

  public List<WebUrl> getAllWebUrls();

  public String saveWebRole(WebRole aWebRole);

  public String saveWebRoleAndWebUrlLinks(WebRole aWebRole,
                                          List<RoleUrlWeb> aRoleUrlWebs);

  public String saveWebRoleUrl(WebRoleUrl aWebRoleUrl);

  public WebRole getWebRole(String aName);

  public WebRoleUrl getWebRoleUrl(Long aWebRoleUrlId);

  public WebRoleUrl getWebRoleUrl(WebUrl aUrl, WebRole aRole);

  public List<WebRole> getAllWebRoles();

  public List<AdminListDTO> getAllSortedRecords();

  public WebRole[] getWebRoles();

  public void delete(WebRole aWebRole);

  public String deleteWebRole(Long aWebRoleId);

  public void delete(List<WebRoleUrl> aListOfWebRoleUrls);

  public void delete(WebRoleUrl aWebRoleUrl);
}
